package com.demo.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.demo.entity.PatientTransition;
import com.demo.entity.Patient;
import com.demo.response.Result;

import java.util.Map;

/**
 * 病患信息表 服务类
 * @author zm
 * @since 2020-11-26
 */
public interface IPatientService extends IService<Patient> {
    /**
     * 病患信息列表
     * @param pageNumber        页码
     * @param pageSize          每页数量
     * @param admissionId       住院号
     * @param deptType          类型1内科2外科
     * @param patientId       患者姓名
     * @param vestType          患者归属：1.我的
     * @param status            2.出院
     * @param deptSn            科室/病区ID
     * @return
     */
    Result patientList(Integer pageNumber,Integer pageSize,String admissionId,Integer deptType,String patientId,Integer vestType,Integer status,Integer deptSn,String wardId);

    /**
     * 通过病患ID，获取名称
     * @param id
     * @return
     */
    String vtePatievtName(Integer id);

    /**
     * 新增病患信息
     * @param patient
     */
    Map<String,String> addPatient(Patient patient) throws Exception;

    Patient selectPatientDesc(Integer patient);

    /**
     * 科室监控【患者列表】
     * @param deptSn      病区/科室ID
     * @return
     */
    Result vteDepartmentMonitoring(Integer pageNumber,Integer pageSize,Integer deptSn);

    Result changPatientStatus(Integer hisPatientId, Integer status, Integer is_transition, PatientTransition patientTransition) throws Exception;

    Result getPatientArchives(Integer his_patient_id, Integer patient_id) throws Exception;
}
